This page last changed on Dec 16, 2009 by npaessel.

embryonic thoughts about pubsub systems for CC software architecture.

What do I want to do with a pubsub server:

  • Distributed work pipeline:
    • workers process items in their inboxes.
    • publish their results in a result box.
    • small autonomous & decoupled consumers (federated architecture)
    • scalable
  • Distributed event notification:
    • eg: Realtime reporting for teachers.
    • eg: Realtime data sharing for students
  • Unified Logging & Reporting
    • Applications can log messages in one location.
    • message consumers can create log summaries and reports.
    • Selected log messages can be rebroadcast by consumers to other venues: Mail, IRC, Growl.

What I want in a pubsub solution:

  • message locks (when one consumer is consuming the resource is locked, preventing simultaneous consumption.
  • optional per channel security based on IP or credentials
  • multiple protocol support (http / xmpp / stomp)
  • pushlike client interfaces (non-polling persistant open socket as an option?)
  • simple libraries for Ruby & Java.

Some options:

  • ActiveMQ Grandady general purpose MQ system.
  • pubsubhubbub Web based RSS notification system – not really appropriate.
  • AmazonSQS Amazon Simple Que Services – looks like http/soap with polling for clients. $0.01 / 10K requests.

Related articles & Links:

Document generated by Confluence on Jan 27, 2014 16:56